package com.literaryfamily.literaryfamily.service.operator;

import com.literaryfamily.literaryfamily.entity.UserForbidden;
import com.literaryfamily.literaryfamily.model.ReturnResult;

/**
 * 运营商管理用户的接口
 * 此接口不会检查身份信息,在调用前应该先进行检查
 * 所有涉及读写的方法都需要抛出 WriteError 数据库读写错误异常(这个是运行时异常,只需要抛出不需要处理)
 * 此接口所有方法均不检查用户身份,应该验证身份后在进行检查
 * @author 滑稽/因果报应
 */
public interface UserManagementService {
	/**
	 * 封禁用户,如果被封的用户是已经被封的,那么封禁时间将会累加
	 * @param userForbidden 打包的封禁信息
	 * @return 操作结果(包含封禁编号)
	 */
	UserForbidden banUser(UserForbidden userForbidden);

	/**
	 * 解封用户:原理:将封禁时间设置为0
	 * @param userForbidden 解封的用户
	 * @return 操作结果
	 */
	UserForbidden unbanUser(UserForbidden userForbidden);
}